문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 스트리밍 SIMD 확장 (문단 편집) == 상세 == [[파일:SIMD AVX2 512.jpg]] [[64비트]] [[플린 분류#s-2.2|SIMD]] MMX 명령어를 성공시킨 [[인텔]]은 [[AMD]]에서 3DNow!라는 MMX 대항마를 출시하고 이에 다시 대응하기 위해 MMX 후속작으로 만든 [[128비트]] [[플린 분류#s-2.2|SIMD]] 명령어 세트이다. 인텔의 IA-32의 MMX 명령어 세트에는 두 가지 큰 문제점이 있었는데 그것은 기존 부동 소수점 레지스터 재사용은 부동 소수점과 SIMD 데이터를 동시에 작동할 수 없게 만든다는 것과 오직 정수만 연산 가능하다는 것이었다. 그 문제를 해결한 것이 SSE이다. x87이 사용하는 레지스터를 공유하는 MMX의 경우 MMX연산이 끝난 후 {{{emms}}}명령어로 x87 레지스터를 비우지 않으면 FPU가 해당 레지스터를 사용하는 경우 레지스터 컨텍스트 스위칭이 일어나 속도가 저하되는 문제가 있다. 이 문제는 SSE에서 AVX가 등장하며 VEX인코딩을 사용하지 않는 레거시 인코딩된 SSE와 AVX 코드를 함께 사용하는 경우 상기한 문제를 포함해 MMX의 {{{emms}}}와 AVX의 {{{vzeroupper}}}/{{{vzeroall}}} 명령어가 처리 사이클을 많이 소모해서 자칫하면 속도가 느려지는 문제가 존재한다. 펜티엄 III의 코드명이 Katmai로 알려져 있을 시기에는 KNI(Katmai New Instructions)라고 불리기도 했다. 이후 ISSE(IntelStreaming SIMD Extentions)로 정해졌고, 이후 SSE로 변경되었다. 1999년 [[인텔 펜티엄III 시리즈|펜티엄 III 시리즈]] 프로세서를 통해 도입을 시작했으며 이후 [[AMD]]는 [[AMD 애슬론 XP 시리즈|애슬론 XP 시리즈]]와 듀론 시리즈에서부터 채택하기 시작했다. 이 SSE를 확장한 후속 명령어는 [[고급 벡터 확장|AVX]]이다. 최신 운영체제와 응용프로그램들이 SSE 또는 그 상위 명령어 지원을 필수로 요구하고 성능 향상도 크기 때문에 최신 S/W 사용시 CPU에서 지원여부를 확인해야하며, 반대로 신형 명령어를 사용하려면 너무 오래된 운영체계는 최신 명령어를 지원하지 않기도 하니 꼭 확인해야한다. AMD 역시 [[젠 아키텍처]]부터 자체 개발하는 3DNow!와 SSE5를 포기하고 인텔에서 만든 SSE와 AVX 명령어를 따르기 시작했으며 [[리눅스 커널]]도 5.17부터 3DNow! 같은 AMD 자체 명령어셋 지원을 중단한다.[[https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=c6dbd3e5e69cf3ca47a3864115d4cbdd44619243|#]]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기